<?php
class Service_Notification{
	  /*
	  Типы оповещений
	  1 - комментарий к топику
	  2 - ответ на вопрос
	  3 - комментарий к комментарию
	  4 - изменение пароля
	  5 - заявка на дружбу*/

	  /**
	   * оповещение о добавлекнии комментария к топику
	   */
	  public static function sendNotificationTopic($topicUrl, $idTopicAutor, $idComentAutor, $idComment){
	  	$access = User_User::getOneNotification($idTopicAutor, 'topic');
	    if (!isset($access) or $access == 1){
	      $arrRecipient = User_User::getUserInfo($idTopicAutor);
	      $fullCommentAutorName = User_User::getUserNameById($idComentAutor);
	      Service_Mail::send('Появился новый комментарий', $fullCommentAutorName . ' добавил новый комментарий на buildingsite.ru <br/ ><br/ > Чтобы просмотреть новый комментарий, перейдите по <a href="' . W_FULLPATH . $topicUrl . '#comment' . $idComment . '">ссылке</a>.', $arrRecipient['e_mail']);
	    }
	  }

	  /**
	   * оповещение об ответе на вопрос
	   */
	  public static function sendNotificationAnswer($idComment, $idUserSender, $idUser, $arrQuestion){
	      $access = User_User::getOneNotification($idUser, 'answer');
	      if (!isset($access) or $access == 1) {
	        $arrRecipient = User_User::getUserInfo($idUser);
	        $fullUserName = User_User::getUserNameById($idUserSender);
	        Service_Mail::send('Появился новый ответ на Ваш вопрос!', $fullUserName . ' добавил новый ответ на ваш вопрос "' . $arrQuestion['name'] . '"' . ' на buildingsite.ru <br /><br /> Чтобы просмотреть новый ответ, перейдите по <a href="'.W_FULLPATH.'question/' . $arrQuestion['ID_question'] . '">ссылке</a>.', $arrRecipient['e_mail']);
	      }
	  }

	  /**
	   * оповещение об ответе на комментарий
	   */
	  public static function sendNotificationComment($topicUrl, $idFirstCommentAuthor, $idTwoCommentAuthor, $idTwoComment){
	  	$access = User_User::getOneNotification($idFirstCommentAuthor, 'comments');
	    if (!isset($access) or $access == 1){
	      $arrRecipient = User_User::getUserInfo($idFirstCommentAuthor);
	      $fullCommentAutorName = User_User::getUserNameById($idTwoCommentAuthor);
	      Service_Mail::send('Появился ответ на Ваш комментарий', $fullCommentAutorName . ' добавил ответ на Ваш комментарий на buildingsite.ru <br /><br /> Чтобы просмотреть новый комментарий, перейдите по <a href="' . W_FULLPATH . $topicUrl . '#comment' . $idTwoComment . '">ссылке</a>.', $arrRecipient['e_mail']);
	    }
	  }

	  /**
	   * оповещение о смене пароля
	   */
	  public static function sendNotificationPass($idUser, $newPass){
	      $access = User_User::getOneNotification($idUser, 'password');
	      $arrRecipient = User_User::getUserInfo($idUser);
	      if (!isset($access) or $access == 1){
	        Service_Mail::send('Смена вашего пароля на buildingsite.ru', 'Была произведена смена пароля, ваш новый пароль ' . $newPass, $arrRecipient['e_mail']);
	      }
	  }

	  /**
	   * оповещение о заявке на дружбу
	   */
	  public static function sendNotificationFriend($type, $idUser, $idUserSender){
	      $access = User_User::getOneNotification($idUser, 'friend');
	      if (!isset($access) or $access == 1){
	        $arrRecipient = User_User::getUserInfo($idUser);
	        $fullUserName = User_User::getUserNameById($idUserSender);
	        Service_Mail::send($fullUserName . ' хочет добавить вас в друзья', $fullUserName . ' хочет добавить вас в друзья на buildingsite.ru<br /><br />Подтвердить, что ' . $fullUserName . ' действительно является вашим другом можно в <a href="'.W_FULLPATH.'user/' . $arrRecipient['login'] . '">своем профайле</a>', $arrRecipient['e_mail']);
	      }
	  }

	  /**
	   * оповещение о сообщении
	   */
	  public static function sendNotificationMail($idUser, $idUserSender, $idChain){
	      $access = User_User::getOneNotification($idUser, 'mail');
	      if (!isset($access) or $access == 1){
	        $arrRecipient = User_User::getUserInfo($idUser);
	        $fullUserName = User_User::getUserNameById($idUserSender);
	        Service_Mail::send($fullUserName . ' написал Вам сообщение', $fullUserName . ' написал Вам сообщение на buildingsite.ru<br /><br /> <a href="'.W_FULLPATH.'mail/chain/' . $idChain . '/#newMail">Просмотреть и ответить.</a>', $arrRecipient['e_mail']);
	      }
	  }

	  /**
	   * оповещение о исправлении бага
	   */
	  public static function sendNotificationBug($idBug, $status){
		  	$objDB = Service_Database::instance();
      	$stmt = "
      	SELECT `feed_back`.`ID_user`,
      				 `feed_back`.`text`
      	FROM `feed_back`
      	WHERE `feed_back`.`ID_feed_back` = " . $idBug;
      	$arrBug = $objDB->selectOne($stmt);
      	$idUser = $arrBug['ID_user'];
	      $access = User_User::getOneNotification($idUser, 'comments');
	      if (!isset($access) or $access == 1){
	        $arrRecipient = User_User::getUserInfo($idUser);
	        switch ($status){
	        	case 0: $status = 'не рассмотрено'; break;
	        	case 1: $status = 'отложено до лучших времен'; break;
	        	case 2: $status = 'в процессе'; break;
	        	case 3: $status = 'исправлено'; break;
	        	case 4: $status = 'мы не считаем это багом'; break;
	        }
	        Service_Mail::send('Добавленный Вами баг обработан', 'Багу, добавленному Вами на buildingsite.ru:<br />"' . $arrBug['text'] . '"<br /> присвоен статус "' . $status . '"', $arrRecipient['e_mail']);
	      }
	  }
}
?>
